//头部
import MenuHeader from '../../../components/vue/Header.vue'
export default {
  name: 'MenuList',
  components: {
    MenuHeader
  },
  data () {
    return {
      // 获取用户列表的参数对象
      queryInfo: {
        query: '', // 搜索关键词
        // 当前的页数
        pagenum: 1,
        // 当前每页显示多少条数据
        pagesize: 2
      },
      total: 0, // 总条数
      tableData: [], // 查询的列表数据
      search: '', // 默认搜索关键词
      menuRow: {}, // 要删除的菜谱信息
      dialogVisible: false // 删除对话框默认不显示
    }
  },
  mounted: function () {
    this.getMenuList()
  },
  methods: {
    getMenuList () {
      let { uroleid, userid } = JSON.parse(window.sessionStorage.getItem('user'))
      if (uroleid === 0) {
        uroleid = userid
      } else if (uroleid === 1) {
        uroleid = null
      }
      // 当前加入列表页加载数据显示
      var vuethis = this
      this.$axios.get(
        'MenuController/findAll.action', {
          params: {
            delstatus: 1,
            uroleid: uroleid, // 角色id
            page: this.queryInfo.pagenum, // 当前页
            count: this.queryInfo.pagesize // 当前页显示条数
          }
        }

      )
        .then(response => { // 输出后端返回的数据
          console.log(response.data)
          vuethis.tableData = response.data.menus
          vuethis.total = response.data.total
        })
        .catch(error => {
          vuethis.$message.error('数据查询失败')
        })
    },
    // 编辑按钮
    handleEdit (index, row) {
    // console.log(index, row);
      // 跳转到详情页并传指定id参数
      this.$router.push({
        path: '/menuInfo',
        query: { menuRow: row }
      })
    },
    // 删除按钮
    handleDelete (index, row) { // console.log(index, row);
      this.menuRow = row // 要删除的菜谱信息
      this.dialogVisible = true // 显示删除对话框默认
    },
    // 点击删除对话框的确定按钮，执行删除数据操作
    removeRow () {
      this.dialogVisible = false // 隐藏删除对话框默认
      // 发送删除菜谱的ajax请求
      var vuethis = this
      this.$axios.get(
        'MenuController/deleteById.action', {
          params: {
            menuid: vuethis.menuRow.menuid,
            number: 2
          }
        }
      ).then(response => {
        // 是否删除成功的信息提示
        if (response.data > 0) {
          vuethis.$message({
            message: '删除成功',
            type: 'success'
          })
          vuethis.getMenuList()
        } else {
          vuethis.$message.error('删除失败')
        }
      }).catch(error => {
        vuethis.$message.error('请求失败')
      })
    },
    // 删除对话框的右上角的确认关闭操作
    handleClose (done) {
      this.$confirm('确认关闭？')
        .then(_ => {
          done()
        })
        .catch(_ => {})
    }, // 监听 pagesize 改变的事件
    handleSizeChange (newSize) {
      // console.log(newSize)
      this.queryInfo.pagesize = newSize
      this.getMenuList()// 重新获取数据
    },
    // 监听 页码值 改变的事件
    handleCurrentChange (newPage) {
      // console.log(newPage)
      this.queryInfo.pagenum = newPage
      this.getMenuList() // 重新获取数据
    }
  }
}
